// ============================== 导入依赖 ============================== //

import CORE from '@/CORE'
import BaseClass from '@api/efficiency/model/EnergyCategoryDto'
import state from '@admin/views/System/Point/PointEnergy/store/state'
import API from './API'

// ============================== 导出状态集 ============================== //

export default {
  // —————————————————————————————— 常量状态 —————————————————————————————— //

  /**
   * 接口
   */
  API,

  /**
   * 映射
   */
  MAP: {
    WORD: '用能', // 词语

    /**
     * 日期
     */
    TITLE: '用能设置',
  },

  /**
   * 字典
   */
  DICT: {
    /**
     * 分类
     */
    CATEGORY: [
      [1, '分项用能'],
      [2, `${CORE.MAP.REGION}用能`],
      [3, '科室用能'],
      [4, '设备用能'],
    ],

    /**
     * 类型
     */
    TYPE: state.DICT.TYPE.map(([id, name, type, unit]) => [id, `用${name}`, type, unit]),

    /**
     * 监测点类型
     */
    POINT: state.DICT.POINT,
  },

  /**
   * 初始参数
   *
   * 1. 初始存在，才能响应
   * 2. CORE.mixStore(store) 时使用
   * 3. setParam() 重置时使用
   * 4. WebSearch 高级查询点重置时使用
   */
  INIT_PARAM: CORE.initObj(BaseClass, {
    energyCategory: 1, // 分类
    energyType: state.DICT.TYPE[0][0], // 类型
  }),

  /**
   * 初始单项
   *
   * 1. 初始存在，才能响应
   * 2. CORE.mixStore(store) 时使用
   * 3. setOne() 重置时使用
   * 4. openAdd() 新增时使用
   */
  INIT_ONE: CORE.initObj(BaseClass, {
    energyCategory: 2,
    energyType: state.DICT.TYPE[0][0], // 类型
  }),
}
